package com.hf.List;

import java.util.ArrayList;
import java.util.List;

public class TestDriver {
    public static void main(String[] args) {
        test01();
        System.out.println("==========================");
        test02();
        System.out.println("==========================");
        test03();
    }

    public static void test01(){
        //创建ArrayList对象
        //利用泛型（对象类型）指定数组的类型，不使用则是Object类型
        //父类指向子类--多态
        List<String> arrayList = new ArrayList();
        //添加元素
        arrayList.add("张三");
        arrayList.add("李四");
        arrayList.add("王五");
        arrayList.add("赵六");
        arrayList.add("钱七");
        arrayList.add("李八");
        arrayList.add(null);
        //遍历元素
        //类似数组，利用下标实现
        for (String obj : arrayList){
            System.out.println(obj);
        }
    }
    public static void test02(){
        //创建ArrayList对象
        //利用泛型（对象类型）指定数组的类型，不使用则是Object类型
        //父类指向子类--多态
        //Integer类型不能为空
        //jdk1.8+自动打包解包（包装类型<——>对象类型）
        List<Integer> arrayList = new ArrayList();
        //添加元素
        arrayList.add(3);
        arrayList.add(3);
        arrayList.add(4);
        arrayList.add(6);
        arrayList.add(1);

        //arrayList.add(null);
        //遍历元素
        //类似数组，利用下标实现
        for (int obj : arrayList){
            System.out.println(obj);
        }
    }

    /**
     * 对象类型数组
     */
    public static void test03(){
        List<int[]> list = new ArrayList<>();
        //添加
        list.add(new int[]{2,35,56});
        list.add(new int[]{2,5,56});
        list.add(new int[]{7,35,546});
        list.add(new int[]{8,35,53});
        list.add(new int[]{2,30,46});
        //遍历
        for (int[] arr : list){
            for (int i : arr){
                System.out.println(i);
            }
            System.out.println();
        }
    }

}
